Features
- autoconfiguration
- duplicate address detection
- neighbour discovery

Packet Fields
=============

Version
- same purpose as in IPv4, though different number
- 5 was allocated to the Internet Stream Protocol, Version 2 (rfc1190).
  Supposed to provide guaranteed service, but which isn't actually used

Traffic Class
- similar to the type of service bits in IPv4, but tries to describe the
  type of traffic rather than the type of service desired
- but the ToS bits weren't used; why this? Well, people have a better idea
  of how to provide different types of service now (traffic scheduling,
  weighted fair queueing, etc.)
- IETF working on Differentiated Services, but nothing in practice

Flow Label
- used to label a "flow" of packets
- in a packet switched network, no good way to tell if a bunch of seperate
  packets are related to each other (can guess from upper level info, but
  that's breaking abstraction)
- specific intended use is so that a flow can be given special QoS
- while it's experimental also, there are places where this could be
  useful immediately, like Ipsilon's IPswitching (which, under IPv6, tries
  to recognize flows, and fast-track them over ATM without looking at IP)
- could be used by routes to cache routes, etc. (more like circuit switched)
- if used, should be chosen randomly so it can be used as a hash value

Payload Length
- length of the packet after the IPv6 header
- replaces Total Length in IPv4, since IPv6 header is fixed length

Next Header
- like Protocol from IPv4: identifies higher level protocol
- except, not always transport layer protocol (TCP or UDP) because of
  changes in IPv6 option/extension mechanism (explained later)

Hop Limit
- like TTL in IPv4, but name changed to reflect actual use

Source / Destination Address
- addresses expanded to 128 bits
- hear more about addressing later

Extension Headers
=================
- optional information goes in headers that can be between IPv6 and upperlayer
- small number, so not to be added lightly
- *ALL* hosts need to understand all headers
- only examined by end host as it goes up the layers
- headers basically have a next header field, a length field (pointer), 
  and local data

Hop-by-Hop Options
- exception to the rule: examined by every router
- contains "options" for each router to process

Routing
- allows alternate routing to be specified for the packet the same
  was as source routing did in IPv4

Fragment
- used for fragmentation and reassembly
- unlike IPv4, performed only by source node
- contains fragment offset, identification, and more fragment flag
  (same as V4)
- doesn't have Dont Fragment bit, since routers can't fragment

Destination Options
- like Hop-by-Hop, but only for end node

Authentication
Encapsulating Security Payload
- similar to IP security for IPv4
- may cover it during security talk on Thursday

Options
=======
- not all hosts need to understand all options
- have same format

Fields: 

Option Type
- indicates what should happen if option is unknown
  (skip option and continue, discard, discard with error,
   discard with error if unicast)
- whether data changes on route

Option Data Length
- length of data in octets

Option Data
- variable size data field

Defined options:
Pad1 and PadN are used to insert blank space, so options can have "nice"
alignment (32 bit and 64 bit boundaries)
Jumbo Payload: for packets with payload longer than 65535 octets (HBH)


Addressing
==========

Autoconfiguration
=================

Reality
=======

What is its status now?
- IETF standard yada
- some implementations in host stacks, routers(?)

What will come of it?
- likely, not much
- to sell something with big transition costs, need a big carrot
- more addresses was thought to be the carrot, but looking like less important
- Rests on: will any other feature turn out to be important enough OR
  will people find some way to use other features to do something important
